package cn.fl.project.service;

import java.util.List;

import cn.cmm.base.framework.exception.BaseException;
import cn.fl.project.condition.PrjFileInfoQueryCondition;
import cn.fl.project.vo.PrjFileInfoVO;

/**
 * @Description: 付款信息表 客户端服务层接口
 * 业务层方法名称前缀：
 * 新增：add*
 * 删除：remove*
 * 修改：modify*
 * 批量：batch*
 * 查询对象：select* get*
 * 查询集合：search*
 */
public interface IPrjFileInfoService {
	
	/**
	 * 查询客户上传资料配置明细
	 * @param condition
	 * @return
	 * @throws BaseException
	 */
	public List<PrjFileInfoVO> searchCstFileInfoCfgList(PrjFileInfoQueryCondition condition) throws BaseException;
    /**
     * 查询客户上传资料记录
     * @param condition
     * @return
     * @throws BaseException
     */
    public List<PrjFileInfoVO> searchCstFileInfoList(PrjFileInfoQueryCondition condition) throws BaseException;

	/**
	 * 查询贷后资料补充
	 * @param condition
	 * @return
	 * @throws BaseException
	 */
	public List<PrjFileInfoVO> searchPrjSupplementInfoList(PrjFileInfoQueryCondition condition) throws BaseException;
    
    /**
     * 查询项目上传资料配置明细
     * @param condition
     * @return
     * @throws BaseException
     */
    public List<PrjFileInfoVO> searchPrjFileInfoCfgList(PrjFileInfoQueryCondition condition) throws BaseException;
    
    /**
     * 查询项目上传资料记录
     * @param condition
     * @return
     * @throws BaseException
     */
    public List<PrjFileInfoVO> searchPrjFileInfoList(PrjFileInfoQueryCondition condition) throws BaseException;
    
    /**
     * 查询项目上传资料记录 - 狮桥对客合同
     * @param condition
     * @return
     * @throws BaseException
     */
    public List<PrjFileInfoVO> searchPrjLionCstFileInfoList(PrjFileInfoQueryCondition condition) throws BaseException;
    
    /**
     * 查询项目上传资料记录 - 三方对客合同
     * @param condition
     * @return
     * @throws BaseException
     */
    public List<PrjFileInfoVO> searchPrjTrigonalCstFileInfoList(PrjFileInfoQueryCondition condition) throws BaseException;
    
    /**
     * 查询资料上传明细  
     * @param condition 主键ID 配置编号 组织架构
     * @return
     * @throws BaseException
     */
    public List<PrjFileInfoVO> searchFileInfoListByCfgCd(PrjFileInfoQueryCondition condition) throws BaseException;
    
    /**
     * 查询租赁物上传资料配置明细
     * @param condition
     * @return
     * @throws BaseException
     */
    public List<PrjFileInfoVO> searchPrjPrdDtlFileInfoCfgList(PrjFileInfoQueryCondition condition) throws BaseException;
    
    /**
     * 查询租赁物上传资料记录
     * @param condition
     * @return
     * @throws BaseException
     */
    public List<PrjFileInfoVO> searchPrjPrdDtlFileInfoList(PrjFileInfoQueryCondition condition) throws BaseException;
    
	/**
	 * 修改项目资料的验证状态
	 * @param fileId
	 * @param audStsCd
	 * @return
	 * @throws BaseException
	 */
	public boolean modifyFileAudStsCd(Long fileId,String audStsCd) throws BaseException;

	/**
	 * 删除放款资料
	 * @param fileId
	 * @return
	 * @throws BaseException
	 */
	public boolean removeFile(Long fileId) throws BaseException;

	/**
	 * 批量修改项目资料的验证状态
	 * @param fileIdList
	 * @param audStsCd
	 * @return
	 * @throws BaseException
	 */
	public boolean modifyFileAudStsCdList(List<Long> fileIdList, String audStsCd) throws BaseException;

	/**
	 * 线上退车--初始化文件记录信息
	 * @param condition
	 * @return
	 * @throws BaseException
	 */
	public List<PrjFileInfoVO> searchPrdDtlBackOffFileList(PrjFileInfoQueryCondition condition) throws BaseException;
}
